package com.pay.service;

import com.pay.domain.req.ShopCartReq;
import com.pay.domain.res.PayOrderRes;

import java.util.List;

/**
 * @author ZhouYihe 1552951165@qq.com
 * @create 2024/10/26 21:44
 * @description 订单服务接口
 */
public interface IOrderService {
    /**
     * 创建支付订单
     * @param shopCartReq
     * @return
     * @throws Exception
     */
    PayOrderRes createOrder(ShopCartReq shopCartReq) throws Exception;
    
    /**
     * 修改支付订单的状态为支付成功
     * @param tradeNo
     */
    void changeOrderPaySuccess(String tradeNo);
    
    /**
     * 获取没有支付的订单
     * @return
     */
    List<String> queryNoPayNotifyOrder();
    
    /**
     * 获取超时的订单
     * @return
     */
    List<String> queryTimeoutCloseOrderList();
    
    /**
     * 关单的处理
     * @param orderId
     * @return
     */
    boolean changeOrderClose(String orderId);
}
